#ifndef _CAPP_H_
    #define _CAPP_H_
 
#include <SDL.h>
//TTF#include <SDL_ttf.h>

#include "CSurface.h"
#include "CAnimation.h"
#include "CEvent.h"
#include "Yoshi.h"
#include "FrameCounter.h"
#include <vector>

#define NO_OF_YOSHIS 20

 
class CApp  : public CEvent {
    private:
        bool            Running;
		int				x_pos, old_x_pos;
		int				Yoshi_x_pos;
		FrameCounter    frmCnt;
		//TTFTTF_Font        *font;

		// Yoshi stuff
		int				FrameRate; //Milliseconds
		long			OldTime;

		Yoshi			Yoshi_1;
		Yoshi			Yoshi_2;

		Yoshi*			Yoshi_objects[NO_OF_YOSHIS];


 
        SDL_Surface*    Surf_Display;

		SDL_Surface*    Surf_Test;

		SDL_Surface*    Bkgrnd_bmp;

		CAnimation      Anim_Yoshi;
 
    public:
        CApp();
 
        int OnExecute();

	public:
 
        bool OnInit();
 
        void OnEvent(SDL_Event* Event);

		void OnExit();

		void OnMouseMove(int mX, int mY, int relX, int relY, bool Left,bool Right,bool Middle);

        void OnLoop();
 
        void OnRender();
 
        void OnCleanup();
};
 
#endif